<?php
	
/*
 * Modelo: "materiales.php"
 *
 * Realizado por:
 * 	Carlos Calvo.
 */
 
	@include_once('sybasebd.php');
	@include_once('auditoria.php');
	
	class Materiales {
					
		// Variables del Modelo
		var $id_material;
		var $id_tipo_material;
		var $nombre;
		var $descripcion;
		var $cantidad;					
		var $respuesta;
		
		
		//	FUNCION - VERIFICAR MATERIAL
		// =================================================================================================================
		function verificar_material( $id_material ) {		
			$conexion = new Sybasebd;
            $var = $conexion->conexion_BD($_SESSION['manejador_bd'],$_SESSION['usuario_bd'],$_SESSION['password_bd'],$_SESSION['base_de_datos'],$_SESSION['rol_bd']);
			
			$sql = "select id_material as id_material 
					from material 
					where id_material = ".$id_material;
						
			//echo "<br>SQL: ".$sql."<br>";
			$this->respuesta = $conexion->consulta_BD($sql) or die("No se pudo consultar el Material.");
			$this->respuesta = $conexion->fetch_array_BD();
			
			$conexion->desconectar_BD;			
			if ( $this->respuesta[id_material] != "" ) {				
				return false;					// Si Existe
			} else {		
				return true;					// Si no Existe
			}
		}
		
		
		//	FUNCION - INSERTAR MATERIAL
		// =================================================================================================================
		
		function insertar( $id_material, $id_tipo_material, $nombre, $descripcion, $cantidad ) {			
			$ocurrencia = $this->verificar_material( $id_material );
			
			if ( $ocurrencia == true ) {						
				$conexion = new Sybasebd;
				$var = $conexion->conexion_BD($_SESSION['manejador_bd'],$_SESSION['usuario_bd'],$_SESSION['password_bd'],$_SESSION['base_de_datos'],$_SESSION['rol_bd']);
							
				$sql = "insert into material (id_material, id_tipo_material, nombre, descripcion, cantidad) values (";
				
				$sql = $sql.$id_material.", ";
				$sql = $sql.$id_tipo_material.", ";
				$sql = $sql."'".strtoupper($nombre)."', "; 
				$sql = $sql."'".strtoupper($descripcion)."', ";
				$sql = $sql.$cantidad.")";
								
				//echo "<br>SQL: ".$sql."<br>";
				$this->respuesta = $conexion->consulta_BD($sql) or die("No se pudo agregar el Material ".$nombre.".");
												
				// Registro de Auditoria
				$auditoria 	= new Auditorias;
				$this->respuesta = $auditoria->insertar( $_SESSION['nombre_usuario'],  "15" );
							
				$conexion->desconectar_BD;												
				return true;
			} else {
				return false;
			}
		}
		
		
		//	FUNCION - MODIFICAR MATERIAL
		// =================================================================================================================
				
		function modificar( $id_material, $id_tipo_material, $descripcion ) {			
			$conexion = new Sybasebd;
            $var = $conexion->conexion_BD($_SESSION['manejador_bd'],$_SESSION['usuario_bd'],$_SESSION['password_bd'],$_SESSION['base_de_datos'],$_SESSION['rol_bd']);
			
			$sql = "update material set 
						id_tipo_material = ".$id_tipo_material.", 
						descripcion = '".strtoupper($descripcion)."' 
					where id_material = ".$id_material;
						
			//echo "<br>SQL: ".$sql."<br>";
			$this->respuesta = $conexion->consulta_BD($sql) or die("No se pudo modificar el Material ".$id_material.".");
			
			// Registro de Auditoria
			$auditoria 	= new Auditorias;
			$this->respuesta = $auditoria->insertar( $_SESSION['nombre_usuario'],  "16" );
						
			$conexion->desconectar_BD;			
			return true;
		}
		
		
		//	FUNCION - CONSULTAR TODOS LOS MATERIALES
		// =================================================================================================================
		
		function consultar( $id_tipo_material, $auditoria ) {			
			$conexion = new Sybasebd;
            $var = $conexion->conexion_BD($_SESSION['manejador_bd'],$_SESSION['usuario_bd'],$_SESSION['password_bd'],$_SESSION['base_de_datos'],$_SESSION['rol_bd']);
			
			$sql = "select m.id_material as id_material,
						m.id_tipo_material as id_tipo_material,
						tm.nombre as nombre_tipo_material, 
						m.nombre as nombre_material,
						m.descripcion as descripcion,
						m.cantidad as cantidad 
					from material as m,
					tipo_material as tm 
					where ";
			
			if ( $id_tipo_material != "T" ) {
				$sql = $sql."m.id_tipo_material = ".$id_tipo_material." and ";
			}
			
			$sql = $sql."m.id_tipo_material = tm.id_tipo_material
					order by id_material";
									
			//echo "<br>SQL: ".$sql."<br>";
			$this->respuesta = $conexion->consulta_BD($sql) or die("No se pudo consultar los Materiales.");			
			$i = 0;
			while ( $this->respuesta = $conexion->fetch_array_BD() ) {
				$lista_materiales[$i][0] = $this->respuesta[id_material];
				$lista_materiales[$i][1] = $this->respuesta[id_tipo_material];	
				$lista_materiales[$i][2] = $this->respuesta[nombre_tipo_material];
				$lista_materiales[$i][3] = $this->respuesta[nombre_material];
				$lista_materiales[$i][4] = $this->respuesta[descripcion];
				$lista_materiales[$i][5] = $this->respuesta[cantidad];			
				$i++;
			}
			
			if ( $auditoria == "S" ) {
				// Registro de Auditoria
				$auditoria 	= new Auditorias;
				$this->respuesta = $auditoria->insertar( $_SESSION['nombre_usuario'],  "17" );
			}
			
			$conexion->desconectar_BD;
			return $lista_materiales;
		}
		
		
		//	FUNCION - ELIMINAR UN MATERIAL
		// =================================================================================================================
				
		function eliminar( $id_material ) {			
			$conexion = new Sybasebd;
			$var = $conexion->conexion_BD($_SESSION['manejador_bd'],$_SESSION['usuario_bd'],$_SESSION['password_bd'],$_SESSION['base_de_datos'],$_SESSION['rol_bd']);
			
			$sql = "delete from material
					where id_material = ".$id_material;
															
			//echo "<br>SQL: ".$sql."<br>";
			$this->respuesta = $conexion->consulta_BD($sql) or die("No se pudo Eliminar el Material ".$id_material.".");
			
			// Registro de Auditoria
			$auditoria 	= new Auditorias;
			$this->respuesta = $auditoria->insertar( $_SESSION['nombre_usuario'],  "18" );
			
			$conexion->desconectar_BD;		
			return true;
		}
		
		
		//	FUNCION - CONSULTAR UN MATERIAL
		// =================================================================================================================
		
		function consultar_material( $id_material ) {			
			$conexion = new Sybasebd;
            $var = $conexion->conexion_BD($_SESSION['manejador_bd'],$_SESSION['usuario_bd'],$_SESSION['password_bd'],$_SESSION['base_de_datos'],$_SESSION['rol_bd']);
									
			$sql = "select id_material as id_material, 
						id_tipo_material as id_tipo_material,
						nombre as nombre, 
						descripcion as descripcion, 
						cantidad as cantidad
					from material 
					where id_material = ".$id_material;
						
			//echo "<br>SQL: ".$sql."<br>";
			$this->respuesta = $conexion->consulta_BD($sql) or die("No se pudo consultar el Material ".$id_material.".");			
			$this->respuesta = $conexion->fetch_array_BD();
				$info_material[0] = $this->respuesta[id_material];
				$info_material[1] = $this->respuesta[id_tipo_material];	
				$info_material[2] = $this->respuesta[nombre];
				$info_material[3] = $this->respuesta[descripcion];
				$info_material[4] = $this->respuesta[cantidad];
			
			$conexion->desconectar_BD;			
			return $info_material;
		}
		
		
		//	FUNCION - CONSULTAR ID_MATERIALES
		// =================================================================================================================
		
		function consultar_id_materiales() {			
			$conexion = new Sybasebd;
            $var = $conexion->conexion_BD($_SESSION['manejador_bd'],$_SESSION['usuario_bd'],$_SESSION['password_bd'],$_SESSION['base_de_datos'],$_SESSION['rol_bd']);
			
			$sql = "select id_material as id_material, 
						nombre as nombre
					from material
					order by nombre";
									
			//echo "<br>SQL: ".$sql."<br>";
			$this->respuesta = $conexion->consulta_BD($sql) or die("No se pudo consultar los Id_materiales de los Materiales.");			
			$i = 0;
			while ( $this->respuesta = $conexion->fetch_array_BD() ) {
				$lista_id_materiales[$i][0] = $this->respuesta[id_material];	
				$lista_id_materiales[$i][1] = $this->respuesta[nombre];		
				$i++;
			}
			
			$conexion->desconectar_BD;
			return $lista_id_materiales;
		}
		
		
		//	FUNCION - CONSULTAR ID_MATERIAL PARA ELIMINAR
		// =================================================================================================================
		
		function consultar_eliminar() {			
			$conexion = new Sybasebd;
            $var = $conexion->conexion_BD($_SESSION['manejador_bd'],$_SESSION['usuario_bd'],$_SESSION['password_bd'],$_SESSION['base_de_datos'],$_SESSION['rol_bd']);
			
			$sql = "select id_material as id_material, 
						nombre as nombre 
					from material 
					where id_material not in ( 
							select id_material 
							from stock ) 
					order by nombre";
						
			//echo "<br>SQL: ".$sql."<br>";
			$this->respuesta = $conexion->consulta_BD($sql) or die("No se pudo consultar los Materiales para Eliminar.");			
			$i = 0;
			while ( $this->respuesta = $conexion->fetch_array_BD() ) {
				$lista_eliminar[$i][0] = $this->respuesta[id_material];
				$lista_eliminar[$i][1] = $this->respuesta[nombre];		
				$i++;
			}				
			
			$conexion->desconectar_BD;			
			return $lista_eliminar;
		}		
	}
?>